{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# -*- coding: utf-8 -*-\n",
    "\"\"\"\n",
    "# @Author : FengLiang\n",
    "# @Time : 2020/4/11 19:50\n",
    "# @File : ItemCF.py\n",
    "\"\"\"\n",
    "\n",
    "from operator import itemgetter\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# data_file = 'ratings.csv'\n",
    "data_file = 'text3.csv'\n",
    "\n",
    "# df = pd.read_csv(data_file, usecols=range(3))\n",
    "# df.columns = ['user', 'item', 'rating']\n",
    "# df = df[(df.user <= 300) & (df.item <= 4000)]\n",
    "\n",
    "\n",
    "class ItemCF:\n",
    "    def __init__(self):\n",
    "        self.frame = pd.read_csv(data_file, usecols=range(3))\n",
    "        # self.frame = df\n",
    "        self.frame.columns = ['user', 'item', 'rating']\n",
    "        self.data = {}\n",
    "        self.train = {}\n",
    "        self.test = {}\n",
    "        self.similarity = {}\n",
    "\n",
    "    @staticmethod\n",
    "    def _process_data(input_data):\n",
    "        \"\"\"\n",
    "        自定义数据处理函数\n",
    "        :param input_data: DataFrame\n",
    "        :return: dict{user_id: {item_id: rating}}\n",
    "        \"\"\"\n",
    "        output_data = {}\n",
    "        for _, items in input_data.iterrows():\n",
    "            user = int(items['user'])\n",
    "            item = int(items['item'])\n",
    "            rating = float(items['rating'])\n",
    "            if user in output_data.keys():\n",
    "                currentRatings = output_data[user]\n",
    "            else:\n",
    "                currentRatings = {}\n",
    "            currentRatings[item] = rating\n",
    "            output_data[user] = currentRatings\n",
    "        return output_data\n",
    "\n",
    "    def load_data(self, train_size, normalize=True):\n",
    "        \"\"\"\n",
    "        加载数据，划分训练集和测试集\n",
    "        :param normalize:\n",
    "        :param train_size:\n",
    "        :return:\n",
    "        \"\"\"\n",
    "        print('loading data...')\n",
    "        if normalize is True:  # 利用pandas对整列进行归一化，评分在(0,1)之间\n",
    "            rating = self.frame['rating']\n",
    "            self.frame['rating'] = (rating - rating.min()) / (rating.max() - rating.min())\n",
    "\n",
    "        train_data = self.frame.sample(frac=train_size, random_state=10, axis=0)\n",
    "        test_data = self.frame[~self.frame.index.isin(train_data.index)]\n",
    "\n",
    "        self.data = self._process_data(self.frame)\n",
    "        self.train = self._process_data(train_data)\n",
    "        self.test = self._process_data(test_data)\n",
    "\n",
    "        print('loaded data finish...')\n",
    "\n",
    "    def items_similarity(self, normal=False):\n",
    "        \"\"\"\n",
    "        计算物品和物品之间的相似度矩阵\n",
    "        :return:\n",
    "        \"\"\"\n",
    "        print('computing all deviations...')\n",
    "        items_matrix = {}\n",
    "        user_items_count = {}\n",
    "        for user, items in self.train.items():\n",
    "            for i in items.keys():\n",
    "                user_items_count.setdefault(i, 0)  # 初始化i行j列的值\n",
    "                user_items_count[i] += 1\n",
    "                items_matrix.setdefault(i, {})\n",
    "                for j in items.keys():\n",
    "                    if i == j:\n",
    "                        continue\n",
    "                    items_matrix[i].setdefault(j, 0)\n",
    "                    # items_matrix[i][j] += 1\n",
    "                    items_matrix[i][j] += 1 / np.math.log(1 + len(items) * 1.0)\n",
    "\n",
    "        if not normal:\n",
    "            for i, related_items in items_matrix.items():  # 计算相似度矩阵\n",
    "                self.similarity.setdefault(i, {})\n",
    "                for j, rating in related_items.items():\n",
    "                    self.similarity[i][j] = rating / np.sqrt(\n",
    "                        user_items_count[i] * user_items_count[j] * 1.0)  # 余弦相似度\n",
    "        else:\n",
    "            self.similarity_max = {}\n",
    "            for i, related_items in items_matrix.items():\n",
    "                self.similarity.setdefault(i, {})\n",
    "                for j, rating in related_items.items():\n",
    "                    self.similarity_max.setdefault(j, 0)\n",
    "                    self.similarity[i][j] = rating / np.sqrt(\n",
    "                        user_items_count[i] * user_items_count[j] * 1.0)\n",
    "                    if self.similarity[i][j] > self.similarity_max[j]:\n",
    "                        self.similarity_max[j] = self.similarity[i][j]  # 记录第j列的最大值\n",
    "            for i, related_items in items_matrix.items():\n",
    "                for j, rating in related_items.items():\n",
    "                    self.similarity[i][j] = self.similarity[i][j] / self.similarity_max[j]\n",
    "\n",
    "        print('computed all deviations finish...')\n",
    "\n",
    "    def predict(self, user, K, N=None):\n",
    "        \"\"\"\n",
    "        对输入的一个user进行推荐\n",
    "        :param K:\n",
    "        :param N:\n",
    "        :param user:\n",
    "        :return:\n",
    "        \"\"\"\n",
    "        recommendations = {}\n",
    "        if user not in list(self.train.keys()):  # 训练集中不存在用户返回空结果\n",
    "            return list()\n",
    "\n",
    "        for sim_item, similarity_factor1 in self.train[user].items():\n",
    "            for related_item, similarity_factor2 in sorted(self.similarity[sim_item].items(), key=itemgetter(1),\n",
    "                                                           reverse=True)[:K]:\n",
    "                if related_item in self.train[user].keys():\n",
    "                    continue\n",
    "                recommendations.setdefault(related_item, 0)\n",
    "                recommendations[related_item] += similarity_factor1 * similarity_factor2\n",
    "\n",
    "        result_list = [(item, rating) for item, rating in recommendations.items()]\n",
    "        result_list.sort(key=lambda x: x[1], reverse=True)\n",
    "        if N:  # topN\n",
    "            return result_list[:N]\n",
    "        else:\n",
    "            return result_list\n",
    "\n",
    "    def validate(self, K=20):\n",
    "        \"\"\"\n",
    "        计算MAE、RMSE评估指标\n",
    "        :return:\n",
    "        \"\"\"\n",
    "        print('calculating MAE and RMSE...')\n",
    "        error_sum = 0.0\n",
    "        sqrError_sum = 0.0\n",
    "        setSum = 0\n",
    "        for user in self.test:\n",
    "            recommendation = self.predict(user, K)\n",
    "            userRatings = self.test[user]\n",
    "            for each in recommendation:\n",
    "                item = each[0]\n",
    "                rating = each[1]\n",
    "                if item in userRatings:\n",
    "                    error_sum += abs(userRatings[item] - rating)\n",
    "                    sqrError_sum += (userRatings[item] - rating) ** 2\n",
    "                    setSum += 1\n",
    "\n",
    "        mae = error_sum / setSum\n",
    "        rmse = np.sqrt(sqrError_sum / setSum)\n",
    "\n",
    "        return mae, rmse\n",
    "\n",
    "    def evaluate(self, K, N=10):\n",
    "        \"\"\"\n",
    "        推荐topN结果评估，计算precision和recall\n",
    "        :return:\n",
    "        \"\"\"\n",
    "        print('calculating precision and recall...')\n",
    "        hit = 0\n",
    "        recall_sum = 0\n",
    "        precision_sum = 0\n",
    "        # i = 0\n",
    "        for user in self.test.keys():\n",
    "            # i += 1\n",
    "            # if i % 100 == 0:\n",
    "            #     print('calculating %d users' % i)\n",
    "            real_items = self.test.get(user)  # 测试集真实结果\n",
    "            recommendation = self.predict(user, K, N)\n",
    "            rec_result = [(item, rating) for item, rating in recommendation]\n",
    "            pred_items = [p[0] for p in rec_result]  # 预测结果\n",
    "            hit += len([h for h in pred_items if h in real_items])\n",
    "            recall_sum += len(real_items)\n",
    "            # precision_sum += len(pred_items)\n",
    "            precision_sum += N\n",
    "\n",
    "        # print(precision_sum, recall_sum)\n",
    "        precision = hit / (precision_sum * 1.0)\n",
    "        recall = hit / (recall_sum * 1.0)\n",
    "        return precision, recall\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 查找最佳K值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K： 10\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.49085642498328386 0.5467967768074913\n",
      "calculating precision and recall...\n",
      "0.21851851851851853 0.10757500414387536\n",
      "K： 11\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4856498857317615 0.5432624696851807\n",
      "calculating precision and recall...\n",
      "0.2228956228956229 0.10972981932703464\n",
      "K： 12\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4826868717895318 0.5419324321809649\n",
      "calculating precision and recall...\n",
      "0.22188552188552188 0.10923255428476711\n",
      "K： 13\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47931756918857155 0.5398984900369778\n",
      "calculating precision and recall...\n",
      "0.21952861952861952 0.10807226918614288\n",
      "K： 14\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47665803157793557 0.5394467370205802\n",
      "calculating precision and recall...\n",
      "0.2222222222222222 0.10939830929885629\n",
      "K： 15\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.474045146542691 0.5387437099941027\n",
      "calculating precision and recall...\n",
      "0.22121212121212122 0.10890104425658877\n",
      "K： 16\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4721134719063829 0.5384379329059604\n",
      "calculating precision and recall...\n",
      "0.22424242424242424 0.11039283938339135\n",
      "K： 17\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47048290628180145 0.5378323785454762\n",
      "calculating precision and recall...\n",
      "0.2255892255892256 0.11105585943974805\n",
      "K： 18\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4698770602231633 0.5386628027657816\n",
      "calculating precision and recall...\n",
      "0.22323232323232323 0.10989557434112382\n",
      "K： 19\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4682236018061697 0.5386977422656214\n",
      "calculating precision and recall...\n",
      "0.22760942760942762 0.1120503895242831\n",
      "K： 20\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.46763584809079334 0.5403961635917188\n",
      "calculating precision and recall...\n",
      "0.23030303030303031 0.11337642963699653\n",
      "K： 21\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4689740895035527 0.543596462414393\n",
      "calculating precision and recall...\n",
      "0.23164983164983166 0.11403944969335322\n",
      "K： 22\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.46920394870853704 0.5468844939618182\n",
      "calculating precision and recall...\n",
      "0.23333333333333334 0.1148682247637991\n",
      "K： 23\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47055618460707105 0.5516130669694742\n",
      "calculating precision and recall...\n",
      "0.23030303030303031 0.11337642963699653\n",
      "K： 24\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47202410369476283 0.5554245519758921\n",
      "calculating precision and recall...\n",
      "0.22962962962962963 0.11304491960881817\n",
      "K： 25\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4721464772026308 0.558478620082268\n",
      "calculating precision and recall...\n",
      "0.22794612794612795 0.11221614453837228\n",
      "K： 26\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4732390712612638 0.5619003269331426\n",
      "calculating precision and recall...\n",
      "0.231986531986532 0.1142052047074424\n",
      "K： 27\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4740230366806489 0.5659245914626572\n",
      "calculating precision and recall...\n",
      "0.22895622895622897 0.11271340958063981\n",
      "K： 28\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47569785514532864 0.5703528604203378\n",
      "calculating precision and recall...\n",
      "0.22760942760942762 0.1120503895242831\n",
      "K： 29\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47762175605439683 0.5757970283270227\n",
      "calculating precision and recall...\n",
      "0.2265993265993266 0.11155312448201558\n",
      "K： 30\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47905915143863737 0.5813118814944463\n",
      "calculating precision and recall...\n",
      "0.22592592592592592 0.11122161445383723\n",
      "K： 31\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4812977327524577 0.5862910321651408\n",
      "calculating precision and recall...\n",
      "0.2286195286195286 0.11254765456655064\n",
      "K： 32\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4832289624049062 0.5918481386933964\n",
      "calculating precision and recall...\n",
      "0.22962962962962963 0.11304491960881817\n",
      "K： 33\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4848627332517478 0.5969976651487398\n",
      "calculating precision and recall...\n",
      "0.231986531986532 0.1142052047074424\n",
      "K： 34\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4880024155723159 0.6049648604163941\n",
      "calculating precision and recall...\n",
      "0.23265993265993265 0.11453671473562076\n",
      "K： 35\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.49011879640918954 0.6111957017783002\n",
      "calculating precision and recall...\n",
      "0.22828282828282828 0.11238189955246146\n",
      "K： 36\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.49260956232424524 0.6169194999395394\n",
      "calculating precision and recall...\n",
      "0.22794612794612795 0.11221614453837228\n",
      "K： 37\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4948566336304646 0.6237880537764371\n",
      "calculating precision and recall...\n",
      "0.22828282828282828 0.11238189955246146\n",
      "K： 38\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.4974374904155097 0.6303357094624983\n",
      "calculating precision and recall...\n",
      "0.232996632996633 0.11470246974970993\n",
      "K： 39\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5005078773244012 0.6375323944231662\n",
      "calculating precision and recall...\n",
      "0.23468013468013468 0.11553124482015581\n",
      "K： 40\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5021267520911852 0.6426420940522368\n",
      "calculating precision and recall...\n",
      "0.23333333333333334 0.1148682247637991\n",
      "K： 41\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5040351532488899 0.6484534466302623\n",
      "calculating precision and recall...\n",
      "0.23030303030303031 0.11337642963699653\n",
      "K： 42\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5067841547298783 0.6555929026750218\n",
      "calculating precision and recall...\n",
      "0.22626262626262628 0.1113873694679264\n",
      "K： 43\n",
      "loading data...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5100843458799613 0.6623101930593636\n",
      "calculating precision and recall...\n",
      "0.22693602693602694 0.11171887949610476\n",
      "K： 44\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5135107149551774 0.6698407575181536\n",
      "calculating precision and recall...\n",
      "0.22592592592592592 0.11122161445383723\n",
      "K： 45\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5166152110901555 0.6766186815660097\n",
      "calculating precision and recall...\n",
      "0.22693602693602694 0.11171887949610476\n",
      "K： 46\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.519110708972004 0.683262456935971\n",
      "calculating precision and recall...\n",
      "0.2265993265993266 0.11155312448201558\n",
      "K： 47\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5220142763172153 0.6905824658683467\n",
      "calculating precision and recall...\n",
      "0.22794612794612795 0.11221614453837228\n",
      "K： 48\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5254206378900804 0.6985365312022314\n",
      "calculating precision and recall...\n",
      "0.22996632996632996 0.11321067462290735\n",
      "K： 49\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5287922119325812 0.7057883140139076\n",
      "calculating precision and recall...\n",
      "0.22895622895622897 0.11271340958063981\n",
      "K： 50\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5313940510052346 0.7119570081369688\n",
      "calculating precision and recall...\n",
      "0.22895622895622897 0.11271340958063981\n"
     ]
    }
   ],
   "source": [
    "itemcf = ItemCF()\n",
    "K_range = list(range(10, 51, 1))\n",
    "mae_rmse = []\n",
    "pre_rec = []\n",
    "for i in K_range:\n",
    "    print('K：', i)\n",
    "    itemcf.load_data(train_size=0.8, normalize=True)\n",
    "    itemcf.items_similarity(normal=False)\n",
    "    mae, rmse = itemcf.validate(K=i)\n",
    "    print(mae, rmse)\n",
    "    mae_rmse.append((mae, rmse))\n",
    "    pre, rec = itemcf.evaluate(K=i, N=10)\n",
    "    print(pre, rec)\n",
    "    pre_rec.append((pre, rec))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "x = K_range\n",
    "mae = [i[0] for i in mae_rmse]\n",
    "rmse = [i[1] for i in mae_rmse]\n",
    "pre = [i[0] for i in pre_rec]\n",
    "rec = [i[1] for i in pre_rec]\n",
    "\n",
    "plt.figure(figsize=(12, 6))\n",
    "plt.subplot(221)\n",
    "plt.plot(x, mae)\n",
    "plt.xlabel('K')\n",
    "plt.ylabel('MAE')\n",
    "\n",
    "plt.subplot(222)\n",
    "plt.plot(x, rmse)\n",
    "plt.xlabel('K')\n",
    "plt.ylabel('RMSE')\n",
    "\n",
    "plt.subplot(223)\n",
    "plt.plot(x, pre)\n",
    "plt.xlabel('K')\n",
    "plt.ylabel('precision')\n",
    "\n",
    "plt.subplot(224)\n",
    "plt.plot(x, rec)\n",
    "plt.xlabel('K')\n",
    "plt.ylabel('recall')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 取K值为20，查看top10的数据划分结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集： 0.9\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.49310291868843803 0.5932599102389485\n",
      "calculating precision and recall...\n",
      "0.1371024734982332 0.12860457408021214\n",
      "训练集： 0.8\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.469632095962131 0.5480337148481899\n",
      "calculating precision and recall...\n",
      "0.24612794612794614 0.1211669152991878\n",
      "训练集： 0.7\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.47850991268345466 0.5486878460296704\n",
      "calculating precision and recall...\n",
      "0.32416107382550335 0.1067403314917127\n",
      "训练集： 0.6\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.48877977494732266 0.5499630561606337\n",
      "calculating precision and recall...\n",
      "0.3795986622073579 0.0940659704956075\n",
      "训练集： 0.5\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "0.5221449820247323 0.5788080354357241\n",
      "calculating precision and recall...\n",
      "0.40702341137123743 0.08068686600808858\n"
     ]
    }
   ],
   "source": [
    "itemcf = ItemCF()\n",
    "train_range = [0.9, 0.8, 0.7, 0.6, 0.5]\n",
    "mae_rmse = []\n",
    "pre_rec = []\n",
    "for i in train_range:\n",
    "    print('训练集：', i)\n",
    "    itemcf.load_data(train_size=i, normalize=True)\n",
    "    itemcf.items_similarity(normal=False)\n",
    "    mae, rmse = itemcf.validate(K=20)\n",
    "    print(mae, rmse)\n",
    "    mae_rmse.append((mae, rmse))\n",
    "    pre, rec = itemcf.evaluate(K=20, N=10)\n",
    "    print(pre, rec)\n",
    "    pre_rec.append((pre, rec))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = train_range\n",
    "mae = [i[0] for i in mae_rmse]\n",
    "rmse = [i[1] for i in mae_rmse]\n",
    "pre = [i[0] for i in pre_rec]\n",
    "rec = [i[1] for i in pre_rec]\n",
    "\n",
    "plt.plot(x, mae)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('MAE')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(x, rmse)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('RMSE')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(x, pre)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('precision')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(x, rec)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('recall')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>训练集大小</th>\n",
       "      <th>MAE</th>\n",
       "      <th>RMSE</th>\n",
       "      <th>precision</th>\n",
       "      <th>recall</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>90%</td>\n",
       "      <td>0.493103</td>\n",
       "      <td>0.593260</td>\n",
       "      <td>0.137102</td>\n",
       "      <td>0.128605</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>80%</td>\n",
       "      <td>0.469632</td>\n",
       "      <td>0.548034</td>\n",
       "      <td>0.246128</td>\n",
       "      <td>0.121167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>70%</td>\n",
       "      <td>0.478510</td>\n",
       "      <td>0.548688</td>\n",
       "      <td>0.324161</td>\n",
       "      <td>0.106740</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>60%</td>\n",
       "      <td>0.488780</td>\n",
       "      <td>0.549963</td>\n",
       "      <td>0.379599</td>\n",
       "      <td>0.094066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>50%</td>\n",
       "      <td>0.522145</td>\n",
       "      <td>0.578808</td>\n",
       "      <td>0.407023</td>\n",
       "      <td>0.080687</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  训练集大小       MAE      RMSE  precision    recall\n",
       "0   90%  0.493103  0.593260   0.137102  0.128605\n",
       "1   80%  0.469632  0.548034   0.246128  0.121167\n",
       "2   70%  0.478510  0.548688   0.324161  0.106740\n",
       "3   60%  0.488780  0.549963   0.379599  0.094066\n",
       "4   50%  0.522145  0.578808   0.407023  0.080687"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d = {\n",
    "    '训练集大小': [format(x, '.0%') for x in train_range], \n",
    "    'MAE': [i[0] for i in mae_rmse], \n",
    "    'RMSE': [i[1] for i in mae_rmse], \n",
    "    'precision': [i[0] for i in pre_rec], \n",
    "    'recall': [i[1] for i in pre_rec]\n",
    "}\n",
    "\n",
    "pd.DataFrame(data=d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 取训练集为0.6时的数据进行topN推荐结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "[(1198, 1.1178222229047547), (356, 1.0362862004793103), (260, 0.9078840199800944), (480, 0.8783967113755957), (589, 0.8431264857115135), (1210, 0.7270005938348784), (318, 0.7210806214098759), (1089, 0.7141765070643262), (380, 0.6599350316361197), (1136, 0.6488458798538884)]\n"
     ]
    }
   ],
   "source": [
    "itemcf = ItemCF()\n",
    "itemcf.load_data(train_size=0.6, normalize=True)\n",
    "itemcf.items_similarity(normal=False)\n",
    "res = itemcf.predict(1, K=20, N=10)\n",
    "print(res)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_id</th>\n",
       "      <th>rating</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1198</td>\n",
       "      <td>1.117822</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>356</td>\n",
       "      <td>1.036286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>260</td>\n",
       "      <td>0.907884</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>480</td>\n",
       "      <td>0.878397</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>589</td>\n",
       "      <td>0.843126</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1210</td>\n",
       "      <td>0.727001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>318</td>\n",
       "      <td>0.721081</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1089</td>\n",
       "      <td>0.714177</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>380</td>\n",
       "      <td>0.659935</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1136</td>\n",
       "      <td>0.648846</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   item_id    rating\n",
       "0     1198  1.117822\n",
       "1      356  1.036286\n",
       "2      260  0.907884\n",
       "3      480  0.878397\n",
       "4      589  0.843126\n",
       "5     1210  0.727001\n",
       "6      318  0.721081\n",
       "7     1089  0.714177\n",
       "8      380  0.659935\n",
       "9     1136  0.648846"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(res, columns=['item_id', 'rating'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 归一化前"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集： 0.9\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "2.561627957392128 3.059036775397606\n",
      "calculating precision and recall...\n",
      "0.13674911660777386 0.12827311899237653\n",
      "训练集： 0.8\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "2.4396302226052717 2.820764234864944\n",
      "calculating precision and recall...\n",
      "0.24511784511784512 0.12066965025692027\n",
      "训练集： 0.7\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "2.483128001713254 2.819070255888893\n",
      "calculating precision and recall...\n",
      "0.3251677852348993 0.1070718232044199\n",
      "训练集： 0.6\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "2.540891791141098 2.8254511358685335\n",
      "calculating precision and recall...\n",
      "0.3785953177257525 0.09381733797447372\n",
      "训练集： 0.5\n",
      "loading data...\n",
      "loaded data finish...\n",
      "computing all deviations...\n",
      "computed all deviations finish...\n",
      "calculating MAE and RMSE...\n",
      "2.7175619284367882 2.975203748695071\n",
      "calculating precision and recall...\n",
      "0.4100334448160535 0.08128356427766359\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>训练集大小</th>\n",
       "      <th>MAE</th>\n",
       "      <th>RMSE</th>\n",
       "      <th>precision</th>\n",
       "      <th>recall</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>90%</td>\n",
       "      <td>2.561628</td>\n",
       "      <td>3.059037</td>\n",
       "      <td>0.136749</td>\n",
       "      <td>0.128273</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>80%</td>\n",
       "      <td>2.439630</td>\n",
       "      <td>2.820764</td>\n",
       "      <td>0.245118</td>\n",
       "      <td>0.120670</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>70%</td>\n",
       "      <td>2.483128</td>\n",
       "      <td>2.819070</td>\n",
       "      <td>0.325168</td>\n",
       "      <td>0.107072</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>60%</td>\n",
       "      <td>2.540892</td>\n",
       "      <td>2.825451</td>\n",
       "      <td>0.378595</td>\n",
       "      <td>0.093817</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>50%</td>\n",
       "      <td>2.717562</td>\n",
       "      <td>2.975204</td>\n",
       "      <td>0.410033</td>\n",
       "      <td>0.081284</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  训练集大小       MAE      RMSE  precision    recall\n",
       "0   90%  2.561628  3.059037   0.136749  0.128273\n",
       "1   80%  2.439630  2.820764   0.245118  0.120670\n",
       "2   70%  2.483128  2.819070   0.325168  0.107072\n",
       "3   60%  2.540892  2.825451   0.378595  0.093817\n",
       "4   50%  2.717562  2.975204   0.410033  0.081284"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "itemcf = ItemCF()\n",
    "train_range = [0.9, 0.8, 0.7, 0.6, 0.5]\n",
    "mae_rmse = []\n",
    "pre_rec = []\n",
    "for i in train_range:\n",
    "    print('训练集：', i)\n",
    "    itemcf.load_data(train_size=i, normalize=False)\n",
    "    itemcf.items_similarity(normal=False)\n",
    "    mae, rmse = itemcf.validate(K=20)\n",
    "    print(mae, rmse)\n",
    "    mae_rmse.append((mae, rmse))\n",
    "    pre, rec = itemcf.evaluate(K=20, N=10)\n",
    "    print(pre, rec)\n",
    "    pre_rec.append((pre, rec))\n",
    "    \n",
    "x = train_range\n",
    "mae = [i[0] for i in mae_rmse]\n",
    "rmse = [i[1] for i in mae_rmse]\n",
    "pre = [i[0] for i in pre_rec]\n",
    "rec = [i[1] for i in pre_rec]\n",
    "\n",
    "plt.plot(x, mae)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('MAE')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(x, rmse)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('RMSE')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(x, pre)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('precision')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(x, rec)\n",
    "plt.xlabel('train data')\n",
    "plt.ylabel('recall')\n",
    "plt.show()\n",
    "\n",
    "d = {\n",
    "    '训练集大小': [format(x, '.0%') for x in train_range], \n",
    "    'MAE': [i[0] for i in mae_rmse], \n",
    "    'RMSE': [i[1] for i in mae_rmse], \n",
    "    'precision': [i[0] for i in pre_rec], \n",
    "    'recall': [i[1] for i in pre_rec]\n",
    "}\n",
    "\n",
    "pd.DataFrame(data=d)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
